Teamprojekt Softwareentwicklung
Bachelor Projekt
Agile Software Engineering Project
Sprecher: Ragnar Mogk
Teamprojekt Softwareentwicklung
- 5er Teams + 1 Teambegleitung + 1 Auftraggeber:innen
- ~4 Begleitvorlesungen
- Team- und Vortragstraining
- Funktionierende Software!
- Projektdokumentation und -präsentation
Worum geht es bei
Softwareentwicklung im Team?
Kommunikation
- Teammitglieder
- Teambegleitung
- Auftraggeber:innen
- Nutzer:innen
- Kursorga
- Meetings / Emails
- Spezifikation / Dokumentation
- Code Reviews / Kommentare
- Tickets / User Stories
- Code
Kennenlernen
Klärt eure Erwartungen und kommuniziert sie:
- Projekttyp: Webanwendung, Konsolenprogramm, …
- Technologien: Programmiersprachen, Tools
- Anspruch: Bestnote, Aufwand
- Verfügbarkeit: Teilzeitstudium, …
- Arbeitsweise: Pair-Programming, regelmäßige Meetings
- Teilnahme: Präsenz oder remote
- Vorerfahrungen
- Trefft euch vor der Deadline und besprecht alle Punkte!
Macht mal was als Team gemeinsam
- Brettspiele, Bowling, Minigolf, Kochen, ...
Kommunikation
- Jour Fixe: Regelmäßiges festes Meeting
- 1x pro Iteration (2 Wochen)
- mit der Gruppe
- mit dem AG
- alle offenen Punkte ansprechen
- eventuelle längere technischen Diskussion auf später verschieben
- Teamkontakt:
- eine E-Mail-Adresse
- eine Person die zuständig ist zu Antworten
- Kontakt für AG, TB, und Orga
- Projektmanagement Tracking:
- Issue/Task tracking (Gitlab, Github, Trello, Jenkins, …)
- Weiter Kommunikation euch überlassen:
- Calls, Instant Messenger, sonstige Software, …
- Stand-up Meetings, Pair-Programming, Group-Programming, ...
Zeitmanagement
- Regelmäßiges Arbeiten
- Findet Wege euch zu Motivieren
- Häufigeres gemeinsames Arbeiten
- Macht mal was in der Freizeit
- Arbeitet auf die Projektziele hin
- Plant Aufgaben pro Iteration
- Plant genug Puffer für Probleme
- Teilt euch die Zeit ein zwischen:
- Projektorganisation (Planung, Doku, Prozesse, Tooling, …)
- Entwicklung (Spezifische Tasks, Softwarequalität, …)
Konflikte
- Konflikte sind normal
- Bereitet euch darauf vor
- Geht professionell damit um
Konfliktverwaltungsstrategien
(wenn nötig)
- Festlegung von Rollen und Verantwortlichkeiten
- Dokumentiert eure Arbeitszeiten
- Dokumentiert eure Beiträge
- Offene Kommunikation bei Uneinigkeiten
- Ziel: Gemeinsame Lösungen finden
- Vermeidung von schlechten Kompromissen
- Fokussierung auf die Erreichung der Projektziele trotz Konflikten
- Teambegleitung bietet Unterstützung
„Ein Teammitglied trägt nur wenig bei“
- Erwartung: 270h pro Person, 12h pro Woche (SEP: 2 Tage pro Woche)
- Frühzeitig im Team ansprechen:
- „Wir finden, dass du dich zu wenig an der Projektarbeit beteiligst, und wollen nicht, dass das einen negativen Einfluss auf unser Projektergebnis hat.”
- Setzt ein Ultimatum:
- „Wenn sich das nicht ändert, werden wir das in der Projektdokumentation festhalten.”
- Kommuniziert mit eurer Teambegleitung.
„Ich habe das Gefühl, alle Arbeit bleibt an mir hängen.”
- Aufgaben zuweisen
- Dokumentiert Arbeitszeiten und Beiträge
- Bittet TBs um Hilfe
„Mit meinem Vorwissen kann ich die Aufgabe nicht bearbeiten.”
- Pair-Programming
- Gemeinsame Weiterbildung
- Kommuniziert mit TBs und AGs.
„Es liegen inkonsistente Requirements vor.”
- Mit TB und AG kommunizieren
„Die Aufgabe ist mit den gegebenen Ressourcen nicht realisierbar.”
„Meine Teamkollegen geben mir Anweisungen”
- Zur Klarstellung:
- Es gibt keine Projektleitung
- Es wird auch nicht per Mehrheit entschieden
- Entscheidungen sollen Einstimmig sein
- Diskutiert Lösungen
- Vermeidet schlechte Kompromisse
- Kommuniziert mit den TBs
- Bei Priorisierungsfragen kontaktiert die AGs.
Erwartungen
(von uns an euch)
Regelmäßige Teilnahme am Prozess
Zeitaufwand
- 9CP = 270h (SEP: 12CP = 360h)
- Projektarbeit, Meetings, Dokumentation, Präsentationen, Vorlesungen, …
Projektmanagement Bestandteile
- Projektspezifikation (zu Beginn)
- „Vertrag“ zwischen euch und AG was getan werden soll
- Klärt Randbedingungen wie Abgabeformat und Lizenzen
- Qualitätssicherung
- Projektdatenmanagement (e.g., git, issue tracker, …)
- Code Reviews
- Tests
- Projektdokumentation (kontinuierlich, Abgabe am Ende)
- Spezifikation erfüllt?
- Qualitätssicherung durchgeführt?
- Arbeitszeiten?
- Abgearbeitet User Stories?
- Prozesse durchgeführt?
- Details in eigenen Vorlesungen und durch Teambegleitungen
Agile Software Engineering Project
- Selbe Begleitvorlesung, anderes Rahmenprogramm
- Mehr CP, mehr Aufwand
- Selektiver Prozess
- -> eventuell auch fürs BP registrieren!
- Projektmesse: Montag 10:00-13:00, in S2|20 Raum 9
- Bitte vorher Anmelden (siehe Webseite)
Fragen?
- Todos für euch:
- Findet euch in 5er Teams zusammen. (vereinzelt 4er Teams)
- Schaut euch die Projekte an.
- Behaltet das Moodle bezüglich Anweisungen zur Anmeldung im Auge
- Deadline ende Montag